import instance from '@/request/request'

/**
 * 获取角色列表，用于添加和修改用户
 * @returns {*}
 * @constructor
 */
export const GetRoleListApi = () => {
  return instance({
    url: '/api/role/getRoleList',
    method: 'get',
  })
}
/**
 * 分页查询角色列表
 * @param params 包括 page(当前页) pageSize(每页条数) roleName(角色名)
 * @returns {*}
 * @constructor
 */
export const GetRolePageApi = (params) => {
  return instance({
    url: '/api/role/page',
    method: 'get',
    params:params
  })
}

/**
 * 删除角色
 * @param ids 待删除角色的id
 * @returns {Promise<AxiosResponse<any>> | *}
 * @constructor
 */
export  const  DeleteRolesApi=(ids)=>{
  return instance({
    url: `/api/role/delete`,
    method:'delete',
    params:{ids}
  })
}
/**
 * 检查添加的角色信息是否重复
 * @param params
 * @returns {*}
 * @constructor
 */
export  const CheckAddRoleRepeatApi=(params)=>{
  return instance({
    url:`/api/role/check`,
    method:'get',
    params:params
  })
}

/**
 * 检查添加的角色名字是否重复
 * @param params
 * @returns {*}
 * @constructor
 */
export  const CheckAddRoleNameRepeatApi=(params)=>{
  return instance({
    url:`/api/role/checkRoleName`,
    method:'get',
    params:params
  })
}
/**
 * 添加角色
 * @returns {*}
 * @constructor
 * @param data
 */
export  const AddRoleApi=(data)=>{
  return instance({
    url:`/api/role/add`,
    method:'post',
    data
  })
}
/**
 * 通过id查询角色
 * @returns {*}
 * @constructor
 * @param data
 */
export  const GetRoleByIdApi=(id)=>{
  return instance({
    url:`/api/role/${id}`,
    method:'get',
  })
}

/**
 * 修改角色
 * @returns {*}
 * @constructor
 * @param data
 */
export  const UpdateRoleByIdApi=(data)=>{
  return instance({
    url:`/api/role/update`,
    method:'put',
    data
  })
}

/**
 * 获取角色的菜单信息
 * @returns {*}
 * @constructor
 */
export  const GetRoleMenuApi=()=>{
  return instance({
    url:`/api/role/menu`,
    method:'get',
  })
}
/**
 * 获取角色的菜单信息
 * @returns {*}
 * @constructor
 * @param id
 */
export  const GetDefaultMenuByIdApi=(id)=>{
  return instance({
    url:`/api/role/menu/${id}`,
    method:'get',
  })
}
/**
 * 修改角色菜单
 * @returns {*}
 * @constructor
 * @param data
 */
export  const UpdateRoleMenuApi=(data)=>{
  return instance({
    url:`/api/role/updateMenu`,
    method:'post',
    data
  })
}
